home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cato / Xm / XmMenuShell.z / XmMenuShell
Text File  |  1998-10-20  |  23KB  |  331 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV           XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll - The MenuShell widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           ####iiiinnnncccclllluuuuddddeeee <<<<XXXXmmmm////MMMMeeeennnnuuuuSSSShhhheeeellllllll....hhhh>>>>
  13.  
  14.  
  15.      VVVVEEEERRRRSSSSIIIIOOOONNNN
  16.           This page documents version 1.2 of the Motif library.
  17.  
  18.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  19.           The MenuShell widget is a custom OverrideShell widget.  An
  20.           OverrideShell widget bypasses mmmmwwwwmmmm when displaying itself.
  21.           It is designed specifically to contain Popup or Pulldown
  22.           MenuPanes.
  23.  
  24.           Most application writers never encounter this widget if they
  25.           use the menu-system convenience functions, XXXXmmmmCCCCrrrreeeeaaaatttteeeePPPPooooppppuuuuppppMMMMeeeennnnuuuu
  26.           or XXXXmmmmCCCCrrrreeeeaaaatttteeeePPPPuuuullllllllddddoooowwwwnnnn MMMMeeeennnnuuuu, to create a Popup or Pulldown
  27.           MenuPane.  The convenience functions automatically create a
  28.           MenuShell widget as the parent of the MenuPane.  However, if
  29.           the convenience functions are not used, the application
  30.           programmer must create the required MenuShell.  In this
  31.           case, it is important to note that the parent of the
  32.           MenuShell depends on the type of menu system being built.
  33.  
  34.  
  35.             +o  If the MenuShell is for the top-level Popup MenuPane,
  36.                the MenuShell's parent must be the widget from which
  37.                the Popup MenuPane is popped up.
  38.  
  39.             +o  If the MenuShell is for a MenuPane that is pulled down
  40.                from a Popup or another Pulldown MenuPane, the
  41.                MenuShell's parent must be the Popup or Pulldown
  42.                MenuPane.
  43.  
  44.             +o  If the MenuShell is for a MenuPane that is pulled down
  45.                from a MenuBar, the MenuShell's parent must be the
  46.                MenuBar.
  47.  
  48.             +o  If the MenuShell is for a Pulldown MenuPane in an
  49.                OptionMenu, the MenuShell's parent must be the
  50.                OptionMenu's parent.
  51.  
  52.  
  53.           Setting XXXXmmmmNNNNhhhheeeeiiiigggghhhhtttt, XXXXmmmmNNNNwwwwiiiiddddtttthhhh, or XXXXmmmmNNNNbbbboooorrrrddddeeeerrrrWWWWiiiiddddtttthhhh for either a
  54.           MenuShell or its child sets that resource to the same value
  55.           in both the parent and the child.  An application should
  56.           always specify these resources for the child, not the
  57.           parent.
  58.  
  59.           For the managed child of a MenuShell, regardless of the
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 4/30/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV           XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))
  71.  
  72.  
  73.  
  74.           value of the shell's XXXXmmmmNNNNaaaalllllllloooowwwwSSSShhhheeeellllllllRRRReeeessssiiiizzzzeeee, setting XXXXmmmmNNNNxxxx or
  75.           XXXXmmmmNNNNyyyy sets the corresponding resource of the parent but does
  76.           not change the child's position relative to the parent.
  77.           XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss for the child's XXXXmmmmNNNNxxxx or XXXXmmmmNNNNyyyy yields the value of
  78.           the corresponding resource in the parent.  The _x and _y
  79.           coordinates of the child's upper left outside corner
  80.           relative to the parent's upper left inside corner are both
  81.           zero minus the value of XXXXmmmmNNNNbbbboooorrrrddddeeeerrrrWWWWiiiiddddtttthhhh.
  82.  
  83.         CCCCllllaaaasssssssseeeessss
  84.           MenuShell inherits behavior and resources from CCCCoooorrrreeee,
  85.           CCCCoooommmmppppoooossssiiiitttteeee, SSSShhhheeeellllllll, and OOOOvvvveeeerrrrrrrriiiiddddeeeeSSSShhhheeeellllllll classes.
  86.  
  87.           The class pointer is xxxxmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllllWWWWiiiiddddggggeeeettttCCCCllllaaaassssssss.
  88.  
  89.           The class name is XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll.
  90.  
  91.         NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  92.           MenuShell overrides the XXXXmmmmNNNNaaaalllllllloooowwwwSSSShhhheeeellllllllRRRReeeessssiiiizzzzeeee resource in
  93.           Shell.  The following table defines a set of widget
  94.           resources used by the programmer to specify data.  The
  95.           programmer can also set the resource values for the
  96.           inherited classes to set attributes for this widget.  To
  97.           reference a resource by name or by class in a .Xdefaults
  98.           file, remove the XXXXmmmmNNNN or XXXXmmmmCCCC prefix and use the remaining
  99.           letters.  To specify one of the defined values for a
  100.           resource in a .Xdefaults file, remove the XXXXmmmm prefix and use
  101.           the remaining letters (in either lowercase or uppercase, but
  102.           include any underscores between words).  The codes in the
  103.           access column indicate if the given resource can be set at
  104.           creation time (C), set by using XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss (S), retrieved
  105.           by using XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss (G), or is not applicable (N/A).
  106.  
  107.                             XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  108.      NNNNaaaammmmeeee                 CCCCllllaaaassssssss                TTTTyyyyppppeeee         DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  109.      _______________________________________________________________________
  110.      XmNbuttonFontList    XmCButtonFontList    XmFontList   dynamic   CSG
  111.      XmNdefaultFontList   XmCDefaultFontList   XmFontList   dynamic   CG
  112.      XmNlabelFontList     XmCLabelFontList     XmFontList   dynamic   CSG
  113.  
  114.  
  115.           XXXXmmmmNNNNbbbbuuuuttttttttoooonnnnFFFFoooonnnnttttLLLLiiiisssstttt
  116.                     Specifies the font list used for MenuShell's
  117.                     button descendants.  If this value is NULL at
  118.                     initialization and if the value of
  119.                     XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttFFFFoooonnnnttttLLLLiiiisssstttt is not NULL, XXXXmmmmNNNNbbbbuuuuttttttttoooonnnnFFFFoooonnnnttttLLLLiiiisssstttt
  120.                     is initialized to the value of XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttFFFFoooonnnnttttLLLLiiiisssstttt.
  121.                     If the value of XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttFFFFoooonnnnttttLLLLiiiisssstttt is NULL,
  122.                     XXXXmmmmNNNNbbbbuuuuttttttttoooonnnnFFFFoooonnnnttttLLLLiiiisssstttt is initialized by looking up the
  123.                     parent hierarchy of the widget for an ancestor
  124.                     that is a subclass of the XmBulletinBoard,
  125.                     VendorShell, or XmMenuShell widget class.  If such
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 4/30/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV           XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))
  137.  
  138.  
  139.  
  140.                     an ancestor is found, XXXXmmmmNNNNbbbbuuuuttttttttoooonnnnFFFFoooonnnnttttLLLLiiiisssstttt is
  141.                     initialized to the XXXXmmmmNNNNbbbbuuuuttttttttoooonnnnFFFFoooonnnnttttLLLLiiiisssstttt of the
  142.                     ancestor  widget.  If no such ancestor is found,
  143.                     the default is implementation dependent.
  144.  
  145.           XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttFFFFoooonnnnttttLLLLiiiisssstttt
  146.                     Specifies a default font list for MenuShell's
  147.                     descendants.  This resource is obsolete and exists
  148.                     for compatibility with earlier releases.  It has
  149.                     been replaced by XXXXmmmmNNNNbbbbuuuuttttttttoooonnnnFFFFoooonnnnttttLLLLiiiisssstttt and
  150.                     XXXXmmmmNNNNllllaaaabbbbeeeellllFFFFoooonnnnttttLLLLiiiisssstttt.
  151.  
  152.           XXXXmmmmNNNNllllaaaabbbbeeeellllFFFFoooonnnnttttLLLLiiiisssstttt
  153.                     Specifies the font list used for MenuShell's label
  154.                     descendants (Labels and LabelGadgets).  If this
  155.                     value is NULL at initialization and if the value
  156.                     of XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttFFFFoooonnnnttttLLLLiiiisssstttt is not NULL,
  157.                     XXXXmmmmNNNNllllaaaabbbbeeeellllFFFFoooonnnnttttLLLLiiiisssstttt is initialized to the value of
  158.                     XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttFFFFoooonnnnttttLLLLiiiisssstttt.  If the value of
  159.                     XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttFFFFoooonnnnttttLLLLiiiisssstttt is NULL, XXXXmmmmNNNNllllaaaabbbbeeeellllFFFFoooonnnnttttLLLLiiiisssstttt is
  160.                     initialized by looking up the parent hierarchy of
  161.                     the widget for an ancestor that is a subclass of
  162.                     the XmBulletinBoard, VendorShell, or XmMenuShell
  163.                     widget class.  If such an ancestor is found,
  164.                     XXXXmmmmNNNNllllaaaabbbbeeeellllFFFFoooonnnnttttLLLLiiiisssstttt is initialized to the
  165.                     XXXXmmmmNNNNllllaaaabbbbeeeellllFFFFoooonnnnttttLLLLiiiisssstttt of the ancestor widget.  If no
  166.                     such ancestor is found, the default is
  167.                     implementation dependent.
  168.  
  169.  
  170.         IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  171.           MenuShell inherits behavior and resources from the following
  172.           superclasses.  For a complete description of each resource,
  173.           refer to the man page for that superclass.  The following
  174.           tables define a set of widget resources used by the
  175.           programmer to specify data.  The programmer can set the
  176.           resource values for these inherited classes to set
  177.           attributes for this widget.  To reference a resource by name
  178.           or by class in a .Xdefaults file, remove the XXXXmmmmNNNN or XXXXmmmmCCCC
  179.           prefix and use the remaining letters.  To specify one of the
  180.           defined values for a resource in a .Xdefaults file, remove
  181.           the XXXXmmmm prefix and use the remaining letters (in either
  182.           lowercase or uppercase, but include any underscores between
  183.           words).  The codes in the access column indicate if the
  184.           given resource can be set at creation time (C), set by using
  185.           XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss (S), retrieved by using XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss (G), or is
  186.           not applicable (N/A).
  187.  
  188.                                               SSSShhhheeeellllllll RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  189.      NNNNaaaammmmeeee                      CCCCllllaaaassssssss                     TTTTyyyyppppeeee                     DDDDeeeeffffaaaauuuulllltttt          AAAAcccccccceeeessssssss
  190.  
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 4/30/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV           XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))
  203.  
  204.  
  205.  
  206.      ____________________________________________________________________________________________________
  207.      XmNallowShellResize       XmCAllowShellResize       Boolean                  True             G
  208.      XmNcreatePopupChildProc   XmCCreatePopupChildProc   XtCreatePopupChildProc   NULL             CSG
  209.      XmNgeometry               XmCGeometry               String                   NULL             CSG
  210.      XmNoverrideRedirect       XmCOverrideRedirect       Boolean                  True             CSG
  211.      XmNpopdownCallback        XmCCallback               XtCallbackList           NULL             C
  212.      XmNpopupCallback          XmCCallback               XtCallbackList           NULL             C
  213.      XmNsaveUnder              XmCSaveUnder              Boolean                  True             CSG
  214.      XmNvisual                 XmCVisual                 Visual *                 CopyFromParent   CSG
  215.  
  216.                              CCCCoooommmmppppoooossssiiiitttteeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  217.      NNNNaaaammmmeeee                CCCCllllaaaassssssss               TTTTyyyyppppeeee          DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  218.      ______________________________________________________________________
  219.      XmNchildren         XmCReadOnly         WidgetList    NULL      G
  220.      XmNinsertPosition   XmCInsertPosition   XtOrderProc   NULL      CSG
  221.      XmNnumChildren      XmCReadOnly         Cardinal      0         G
  222.  
  223.                                                    CCCCoooorrrreeee RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  224.      NNNNaaaammmmeeee                            CCCCllllaaaassssssss                           TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  225.      ______________________________________________________________________________________________________________
  226.      XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
  227.      XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
  228.      XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
  229.      XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  230.      XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
  231.      XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  232.      XmNborderWidth                  XmCBorderWidth                  Dimension        1                      CSG
  233.      XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
  234.      XmNdepth                        XmCDepth                        int              dynamic                CG
  235.      XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
  236.      XmNheight                       XmCHeight                       Dimension        dynamic                CSG
  237.      XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
  238.      XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
  239.      XmNscreen                       XmCScreen                       Screen *         dynamic                CG
  240.      XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
  241.      XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
  242.      XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
  243.      XmNx                            XmCPosition                     Position         0                      CSG
  244.      XmNy                            XmCPosition                     Position         0                      CSG
  245.  
  246.         TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
  247.           The XmMenuShell translations are listed below.  These
  248.           translations may not directly correspond to a translation
  249.           table.
  250.  
  251.           BBBBSSSSeeeelllleeeecccctttt PPPPrrrreeeessssssss:::: CCCClllleeeeaaaarrrrTTTTrrrraaaavvvveeeerrrrssssaaaallll(((())))
  252.           BBBBSSSSeeeelllleeeecccctttt RRRReeeelllleeeeaaaasssseeee::::MMMMeeeennnnuuuuSSSShhhheeeellllllllPPPPooooppppddddoooowwwwnnnnDDDDoooonnnneeee(((())))
  253.  
  254.  
  255.         AAAAccccttttiiiioooonnnn RRRRoooouuuuttttiiiinnnneeeessss
  256.           The XmMenuShell action routines are described below:
  257.  
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 4/30/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))           UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV           XXXXmmmmMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX))))
  269.  
  270.  
  271.  
  272.           CCCClllleeeeaaaarrrrTTTTrrrraaaavvvveeeerrrrssssaaaallll(((()))):
  273.                     Disables keyboard traversal for the menu, enables
  274.                     mouse traversal, and unposts any menus posted by
  275.                     this menu.
  276.  
  277.           MMMMeeeennnnuuuuSSSShhhheeeellllllllPPPPooooppppddddoooowwwwnnnnDDDDoooonnnneeee(((()))):
  278.                     Unposts the menu hierarchy and, when the shell's
  279.                     keyboard focus policy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCIIIITTTT, restores
  280.                     focus to the widget that had the focus before the
  281.                     menu system was entered.
  282.  
  283.           MMMMeeeennnnuuuuSSSShhhheeeellllllllPPPPooooppppddddoooowwwwnnnnOOOOnnnneeee(((()))):
  284.                     In a toplevel Pulldown MenuPane from a MenuBar,
  285.                     unposts the menu, disarms the MenuBar
  286.                     CascadeButton and the MenuBar, and, when the
  287.                     shell's keyboard focus policy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCTTTT,
  288.                     restores keyboard focus to the widget that had the
  289.                     focus before the MenuBar was entered.  In other
  290.                     Pulldown MenuPanes, unposts the menu.
  291.  
  292.                     In a Popup MenuPane, unposts the menu, and, when
  293.                     the shell's keyboard focus policy is XXXXmmmmEEEEXXXXPPPPLLLLIIIICCCCTTTT,
  294.                     restores keyboard focus to the widget from which
  295.                     the menu was posted.
  296.  
  297.  
  298.         VVVViiiirrrrttttuuuuaaaallll BBBBiiiinnnnddddiiiinnnnggggssss
  299.           The bindings for virtual keys are vendor specific.  For
  300.           information about bindings for virtual buttons and keys, see
  301.           VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss((((3333XXXX)))).
  302.  
  303.      RRRREEEELLLLAAAATTTTEEEEDDDD IIIINNNNFFFFOOOORRRRMMMMAAAATTTTIIIIOOOONNNN
  304.           CCCCoooommmmppppoooossssiiiitttteeee((((3333XXXX)))), CCCCoooorrrreeee((((3333XXXX)))), OOOOvvvveeeerrrrrrrriiiiddddeeeeSSSShhhheeeellllllll((((3333XXXX)))), SSSShhhheeeellllllll((((3333XXXX)))),
  305.           XXXXmmmmCCCCrrrreeeeaaaatttteeeeMMMMeeeennnnuuuuSSSShhhheeeellllllll((((3333XXXX)))), XXXXmmmmCCCCrrrreeeeaaaatttteeeePPPPooooppppuuuuppppMMMMeeeennnnuuuu((((3333XXXX)))),
  306.           XXXXmmmmCCCCrrrreeeeaaaatttteeeePPPPuuuullllllllddddoooowwwwnnnn((((3333XXXX)))), and XXXXmmmmRRRRoooowwwwCCCCoooolllluuuummmmnnnn((((3333XXXX)))).
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.      Page 5                                          (printed 4/30/98)
  328.  
  329.  
  330.  
  331.